
#ifndef NODE_PROTECTION_GUARD
#define NODE_PROTECTION_GUARD

#include "../collections.hpp"


using lms::collections::Node;

template<class TEntity>
Node<TEntity>::Node()
{
    data = 0;
    previous = 0;
    next = 0;                     
}

template<class TEntity>
Node<TEntity>::Node(TEntity *entity)
{
    data = entity;
    previous = 0;
    next = 0;                                      
}

template<class TEntity>
TEntity* Node<TEntity>::getData()
{
     return data;         
}

template<class TEntity>
Node<TEntity>* Node<TEntity>::getPrevious()
{
     return previous;               
}

template<class TEntity>
Node<TEntity>* Node<TEntity>::getNext()
{
    return next;               
}

template<class TEntity>
void Node<TEntity>::setData(TEntity *entity)
{
     this->data = entity;
}

template<class TEntity>
void Node<TEntity>::setPrevious(Node<TEntity> *entity)
{
     this->previous = entity;     
}

template<class TEntity>
void Node<TEntity>::setNext(Node<TEntity> *entity)
{
     this->next = entity;     
}


#endif
